1. Field of the Invention
The present invention relates to a position commanding method and apparatus for implementing such method for the position control of servo motors, spindle motors, etc., which are the drive sources for machine tools and the like. In particular, the invention relates to a position commanding method and apparatus for shortening the acceleration or deceleration time by maximally utilizing the torque provided by a controlled body.
The present invention may be explained using, for example, a servo motor as a controlled body for the convenience of explanation.
2. Description of the Background Art
FIG. 11 is a block diagram showing the conventional position commanding unit of a servo motor. In this figure there is a program 101 where the position data, speed data, etc., are designated, a data processing section 102 for rewriting and outputting the position data, speed data, etc., from the program 101, a unit time speed command generating section 103 (hereinafter to be called "F.DELTA.t generating section") for converting the input speed data into the travel distance at every unit time for its output, and an acceleration/deceleration controlling section 104 consisting of a filter and the like for outputting the output speeds of acceleration, constant speed and deceleration. The output speed Fv from the acceleration/deceleration controlling section 104 converted into the position command via an integrator 107 and drives the servo motor by an amplifier not shown in drawing. Further, there is a 1-block data completion discriminating section 105 for making a judgement to see if the output of 1-block data has been completed from the F.DELTA.t generating section 103 and if the next block data is to be read in, and a storing section 106 for parameters that will become a basis for determining if the read data may be rewritten or not on the basis of the discrimination at the 1-block data completion discriminating section 105. In particular, storing section 106 stores the threshold value of the output speed Fv being output from the acceleration/deceleration speed controlling section 104.
Next, the actuation of the unit shown in FIG. 11 is to be described. FIG. 12 is a flow chart explaining the actuation of a conventional position commanding unit illustrated in FIG. 11. Initially, after a START, 1-block data, comprising speed data Fi and position data Xi, is read. Then, the unit will make a decision (S102) to see if the previously read data may be rewritten for the position data Xi and speed data Fi at the i-th block that previously were read into the data processing section 102. When the output speed Fv being output from the acceleration/deceleration controlling section 104 has reached the stipulated value set into the parameter storing section 106, the data processing section 102 rewrites the output speed to a newly read data. At step S102, the data processing section makes a judgement to see if the stipulated value has been set into the parameter storing section 106, and if so set, makes a check to see if the output speed can satisfy its preset value, for example 0 at S103. If the preset value is satisfied, then the step shifts to S104 to rewrite the data; and if it is not satisfied, the processing goes to step S106, as subsequently described. If the stipulated value has not been set at S102, the processing proceeds directly to S104 to rewrite the data.
In step S104, the number of repetitions to output the unit command for obtaining the value Xi is computed by using the equation Xi=.SIGMA.Fij .DELTA.t (however, j is the number of cycles for outputting the unit command) from the sampling time (sampling period, unit time) .DELTA.t, and determines the number of cycles j. S105 initially sets j to 0 and the residual distance XR to Xi. S106 outputs the travel distance Fij .DELTA.t at every unit time from the F .DELTA.t generating section 103. In response to step S106, the output speed Fv is output (S107) as an acceleration, constant speed or deceleration command at the acceleration/deceleration control section 104 by this travel distance, and this output speed Fv drives not only the servo motor via the amplifier as the position command through the integrator but is also returned to S102. On the other hand, in response to step S106, step S108 subtracts the accumulated value of output Fij.DELTA.t from the residual distance XR, namely, from the distance until the servo motor stops since the command of output speed has disappeared. Then, step S109 makes a judgement to see if the residual distance XR has become zero or not, and if the distance has not been zero, the step adds +1 to j so that the Fij.DELTA.t may be output, and returns to S106. If the residual distance proves to be 0 at S109, the data processing of 1 block is ended. If there exists the next data at this time, the step returns to START and the above mentioned steps are repeated. All the processing other than those at steps S106 and S107 are done at the data processing section 102.
FIGS. 13(a)-(c) are views showing the general speed pattern in the background art. FIG. 13(b) shows that the servo motor is accelerated until the time t2 by the command Fi.DELTA.t being output from the F.DELTA.t generating section 103, which is shown in FIG. 13(a). Thereafter the motor is driven at a constant speed Fi until the time t1, and then is decelerated because the command of output speed disappears at the time t1.
The time t1 is the point of time when all the commands corresponding to the position data Xi, that has presently been read in, is judged by a 1-block data completion discriminating section 105. Section 105 outputs the command for reading the next data to the data processing section 102. Section 102, in turn, reads the next block of data Xi+1 and Fi+1 on the basis of this command, compares the conditions of output speed stored into the parameter storing section 106 with the output speed, and rewrites the data if the conditions have been satisfied.
The speed pattern shown in FIG. 13(b) drives the servo motor with a constant torque T1 as given in the torque speed characteristics shown in FIG. 13(c). Therefore, though the servo motor itself has the ability capable of generating the torque higher than Torque T1 at the command speed lower than Fi, it can be seen that this ability has not been utilized. In other words, the shaded area in FIG. 13(c) shows the ability which has not been utilized by the servo motor.
For this reason, a variety of proposals for effectively utilizing the torque available from the servo motor at the speed lower than the command speed Fi have been presented in the past.
FIG. 14 shows the torque revolution (speed) characteristics disclosed in Unexamined Patent Publication (Kokai) No. 3-117514, where the torque is subdivided into 3 regions for determining the constant torque corresponding to the command speed with the torque as the function of speed. This approach more effectively utilizes the torque than the conventional method, which provides a drive at a constant torque in response to the rated speed, but still does not utilize the torque sufficiently at the number of revolutions lower than the command revolution number S1.
FIG. 15 illustrates the torque revolution (speed) characteristics disclosed in Unexamined Patent Publication (Kokai) No. 64-72206. The reference discloses the concept that drives in synchronism the servo motor and spindle motor at the limit torque of L1 and L2 spindle motors in the synchronous operation of spindle motor and servo motor, but its concrete method has not been disclosed.
The position commanding unit of a controlled body, such as the conventional servo motor, etc., is structured and actuates as described above, but involves such a problem of not being able to fully utilize the torque being generated by a controlled body such as a servo motor and so forth in any of the cases. The present invention is to solve this problem.